Speech enhancement method

ABSTRACT

A speech enhancement method, including the steps of: (a) segmenting an input speech signal into a plurality of frames and transforming each frame signal into a signal of the frequency domain; (b) computing the signal-to-noise ratio of a current frame, and computing signal-to-noise ratio of a frame immediately preceding the current frame; (c) computing the predicted signal-to-noise ratio of the current frame which is predicted based on the preceding frame and computing the speech absence probability using the signal-to-noise ratio and predicted signal-to-noise ratio of the current frame; (d) correcting the two signal-to-noise ratios obtained in the step (b) based on the speech absence probability computed in the step (c); (e) computing the gain of the current frame with the two corrected signal-to-noise ratios obtained in the step (d), and multiplying the speech spectrum of the current frame by the computed gain; (f) estimating the noise and speech power for the next frame to calculate the predicted signal-to-noise ratio for the next frame, and providing the predicted signal-to-noise ratio for the next frame as the predicted signal-to-noise ratio of the current frame for the step (c); and (g) transforming the result spectrum of the step (e) into a signal of the time domain. The noise spectrum is estimated in speech presence intervals based on the speech absence probability, as well as in speech absence intervals, and the predicted SNR and gain are updated on a per-channel basis of each frame according to the noise spectrum estimate, which in turn improves the speech spectrum in various noise environments.

BACKGROUND OF THE INVENTION

1 Field of the Invention

The present invention relates to speech enhancement, and more particularly, to a method for enhancing a speech spectrum by estimating a noise spectrum in speech presence intervals based on speech absence probability, as well as in speech absence intervals.

2. Description of the Related Art

A conventional approach to speech enhancement is to estimate a noise spectrum in noise intervals where speech signals are not present, and in turn to improve a speech spectrum in a predetermined speech interval based on the noise spectrum estimate. A voice activity detector (VAD) has been utilized for an algorithm required for speech presence/absence interval classification with respect to a predetermined input signal. However, the VAD operates in a different manner from a speech enhancement technique, and thus noise interval detection and noise spectrum estimation based on detected noise intervals have no relationship with models and assumptions for use in practical speech enhancement, which degrades the performance of the speech enhancement technique. In addition, in the case of using the VAD, the noise spectrum is estimated only in speech absence intervals. However, since the noise spectrum actually varies in speech presence intervals as well as the speech absence intervals, the accuracy of noise spectrum estimation using the VAD is limited.

SUMMARY OF THE INVENTION

To solve the above problems, it is an object of the present invention to provide a method for enhancing a speech spectrum in which a signal-to-noise ratio (SNR) and a gain of each frame of an input speech signal is updated based on a speech absence probability, without using a separate voice activity detector (VAD).

The above object is achieved by the method according to the present invention for enhancing the speech quality, comprising: (a) segmenting an input speech signal into a plurality of frames and transforming each frame signal into a signal of the frequency domain; (b) computing the signal-to-noise ratio of a current frame, and computing signal-to-noise ratio of a frame immediately preceding the current frame; (c) computing the predicted signal-to-noise ratio of the current frame which is predicted based on the preceding frame and computing the speech absence probability using the signal-to-noise ratio and predicted signal-to-noise ratio of the current frame, (d) correcting the two signal-to-noise ratios obtained in the step (b) based on the speech absence probability computed in the step (c); (e) computing the gain of the current frame with the two corrected signal-to-noise ratios obtained in the step (d), and multiplying the speech spectrum of the current frame by the computed gain; (f) estimating the noise and speech power for the next frame to calculate the predicted signal-to-noise ratio for the next frame, and providing the predicted signal-to-noise ratio for the next frame as the predicted signal-to-noise ratio of the current frame for the step (c); and (g) transforming the result spectrum of the step (e) into a signal of the time domain.

BRIEF DESCRIPTION OF THE DRAWINGS

The above object and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:

FIG. 1 is a flowchart illustrating a speech enhancement method according to a preferred embodiment of the present invention; and

FIG. 2 is a flowchart illustrating the SEUP step in FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, speech enhancement based on unified processing (SEUP) according to the present invention involves a pre-processing step 100, an SEUP step 102 and a post-processing step 104. In the pre-processing step 100, an input speech-plus-noise signal is pre-emphasized and subjected to an M-point Fast Fourier Transform (FFT). Assuming that an input speech signal is s(n) and the signal of an n-th frame, which is one of the frames obtained by segmentation of the signal s(n), is d(m,n), the signal d(m,n) and signal d(m,D +n) which is pre-emphasized and overlaps with a rear portion of the preceding frame by pre-emphasis, are given by the equation (1)

d(m,n)=d(m−1,L+n), 0≦n≦D

d(m,D+n)=s(n)+ζ·s(n−1), 0≦n≦L  (1)

where D is the overlap length with the preceding frame, L is the length of one frame and ζ is the pre-emphasis parameter. Then, prior to the M-point FFT, the pre-emphasized input speech signal is subjected to trapezoidal windowing given by the equation (2) $\begin{matrix} {{y\quad (n)} = \left\{ \begin{matrix} {{d\quad \left( {m,n} \right)\quad \sin^{2}\quad \left( {\pi \quad {\left( {n + 0.5} \right)/2}D} \right)},} & {0 \leq n < D} \\ {{d\quad \left( {m,n} \right)},} & {D < n < L} \\ {{d\quad \left( {m,n} \right)\quad \sin^{2}\quad \left( {\pi \quad {\left( {n - L + D + 0.5} \right)/2}D} \right)},} & {L \leq n < {D + L}} \\ {0,} & {{D + L} \leq n < M} \end{matrix} \right.} & (2) \end{matrix}$

The obtained signal y(n) is converted into a signal of the frequency domain by FFT given by the equation (3) $\begin{matrix} {{{Y_{m}\quad (k)} = {\frac{2}{M}\quad {\sum\limits_{n = 0}^{M - 1}\quad {y\quad (n)\quad ^{{- j}\quad 2\quad \pi \quad {{nk}/M}}}}}},{0 \leq k < M}} & (3) \end{matrix}$

As can be noticed from the equation (3), the frequency domain signal Y_(m)(k) obtained by the FFT is a complex number which consists of a real part and a imaginary part.

In the SEUP step 102, the speech absence probabilities, the signal-to-noise ratios, and the gains of frames are computed, and the result of the pre-processing step 100, i.e., Y_(m)(k) of the equation (3), is multiplied by the obtained gain to enhance the spectrum of the speech signal, which results in the enhanced speech signal {tilde over (Y)}_(m)(k). During the SEUP step 102, the gains and SNRs for a predetermined number of initial frames are initialized to collect background noise information. This SEUP step 102 will be described later in greater detail with reference to FIG. 2.

In the post-processing step 104, the spectrum enhanced signal {tilde over (Y)}_(m)(k) is converted back into a signal of the time domain by an Inverse Fast Fourier Transform (IFFT) given by the equation (4), then de-emphasized. $\begin{matrix} {{h\quad \left( {m,n} \right)} = {\frac{1}{2}\quad {\sum\limits_{n = 0}^{M - 1}\quad {{\overset{\sim}{Y}}_{m}\quad (k)\quad ^{j\quad 2\quad \pi \quad {{nk}/M}}}}}} & (4) \end{matrix}$

Prior to the de-emphasis, the signal h(m,n) obtained through the IFFT is subjected to an overlap-and-add operation using the equation (5) $\begin{matrix} {{h^{\prime}\quad (n)} = \left\{ \begin{matrix} {{{h\quad \left( {m,n} \right)} + {h\quad \left( {{m - 1},{n + L}} \right)}},} & {0 \leq n < D} \\ {{h\quad \left( {m,n} \right)},} & {D \leq n < L} \end{matrix} \right.} & (5) \end{matrix}$

Then, the de-emphasis is performed to output the speech signal s′ (n) using the equation (6)

s′(n)=h′(n)−ζ·s′(n−1), 0≦n<L  (6)

FIG. 2 is a flowchart illustrating in greater detail the SEUP step 102 in FIG. 1. As shown in FIG. 2, the SEUP step includes initializing parameters for a predetermined number of initial frames (step 200), incrementing the frame index and computing the SNR of the current frame (steps 202 and 204), computing the speech absence probability of the current frame (step 206), correcting SNRs of the preceding and current frames (step 207), computing the gain of the current frame (step 208), enhancing the speech spectrum of the current frame (step 210), and repeating the steps 212 through 216 for all the frames.

As previously mentioned, the speech signal applied to the SEUP step 202 is a speech-plus-noise signal which has undergone pre-emphasis and the FFT. Assuming that the original speech spectrum is X_(m)(k) and the original noise spectrum is D_(m)(k), the spectrum of the k-th frequency of the m-th frame of the speech signal, Y_(m)(k), is modeled by the equation (7)

Y _(m)(k)=X _(m)(k)+D _(m)(k)  (7)

In the equation (7), X_(m)(k) and D_(m)(k) are statistically independent, and each has the zero-mean complex Gaussian probability distribution given by the equation (8) $\begin{matrix} {{{p\quad \left( {X_{m}\quad (k)} \right)} = {\frac{1}{\pi \quad \lambda_{x,m}\quad (k)}\quad {\exp \left\lbrack {- \frac{{{X_{m}\quad (k)}}^{2}}{\lambda_{x,m}(k)}} \right\rbrack}}}{{p\quad \left( {D_{m}\quad (k)} \right)} = {\frac{1}{\pi \quad \lambda_{d,m}\quad (k)}\quad {\exp \left\lbrack {- \frac{{{D_{m}\quad (k)}}^{2}}{\lambda_{d,m}(k)}} \right\rbrack}}}} & (8) \end{matrix}$

where λ_(x,m)(k) and λ_(d,m)(k) are the variances of the speech and noise spectrum, respectively, which substantially means the power of speech and noise at the k-th frequency. However, the actual computations are performed on a per-channel basis, and thus the signal spectrum for the i-th channel of the m-th frame, G_(m)(i), is given by the equation (9)

G _(m)(i)=S _(m)(i)+N _(m)(i)  (9)

where S_(m)(i) and N_(m)(i) are the means of the speech and noise spectrum, respectively, for the i-th channel of the m-th frame. The signal spectrum for the i-th channel of the m-th frame, G_(m)(i), has probability distributions given by the equation (10) according to the presence or absence of the speech signal. $\begin{matrix} {{{p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)} = {\frac{1}{\pi \quad \lambda_{n,m}\quad (i)}\quad {\exp \left\lbrack {- \frac{{{G_{m}\quad (i)}}^{2}}{\lambda_{n,m}(i)}} \right\rbrack}}}{{p\quad \left( {G_{m}\quad (i)} \middle| H_{1} \right)} = {\frac{1}{\pi \quad \left( {{\lambda_{n,m}\quad (i)} + {\lambda_{s,m}\quad (i)}} \right)}\quad {\exp \left\lbrack {- \frac{{{G_{m}\quad (i)}}^{2}}{{\lambda_{n,m}(i)} + {\lambda_{s,m}\quad (i)}}} \right\rbrack}}}} & (10) \end{matrix}$

where λ_(s,m)(i) and λ_(n,m)(i) are the power of the speech and noise signals, respectively, for the i-th channel of the m-th frame.

In the step 200, parameters are initialized for a predetermined number of initial frames to collect background noise information. The parameters, such as the noise power estimate {circumflex over (λ)}_(n,m)(i) the gain H(m,i) multiplied to the spectrum of the i-th channel of the m-th frame, and the predicted SNR ξ_(pred)(m,i), for the i-th channel of the m-th frame, are initialized for the first MF frames using the equation (11) $\begin{matrix} {{{\hat{\lambda}}_{n,m}\quad (i)} = \left\{ {{\begin{matrix} {{{G_{m}\quad (i)}}^{2},} & {m = 0} \\ {{{_{n}\quad {\hat{\lambda}}_{n,{m - 1}}\quad (i)} + {\left( {1 - _{n}} \right)\quad {{G_{m}\quad (i)}}^{2}}},} & {0 < m < {MF}} \end{matrix}H\quad \left( {m,i} \right)} = {{{GAIN}_{MIN}\xi_{pred}\quad \left( {m,i} \right)} = \left\{ \begin{matrix} {{\max \left\lbrack {\left( {GAIN}_{MIN} \right)^{2},{SNR}_{MIN}} \right\rbrack},} & {m = 0} \\ {{\max \left\lbrack {{{\varsigma_{s}\quad \xi_{pred}\quad \left( {{m - 1},i} \right)} + {\left( {1 - \varsigma_{s}} \right)\quad \frac{{{{\hat{S}}_{m - 1}\quad (i)}}^{2}}{{\hat{\lambda}}_{n,{m - 1}}\quad (i)}}},{SNR}_{MIN}} \right\rbrack},} & {0 < m < {MF}} \end{matrix} \right.}} \right.} & (11) \end{matrix}$

where ζ_(n) and ζ_(s) are the initialization parameters, and SNR_(min) and GAIN_(min) are the minimum SNR and the minimum gain, respectively, obtained in the SEUP step 102, which can be set by a user.

After the initialization of the first MF frames is complete, the frame index is incremented (step 202), and the signal of the corresponding frame (herein, the m-th frame) is processed. In the step 204, a post (abbreviated for “posteriori”) SNR ξ_(post)(m, i) is computed for the m-th frame. For the computation of the post SNR for each channel of the m-th frame, the power of the input signal E_(acc)(m, i) is smoothed by the equation (12) in consideration of the interframe correlation of the speech signal

E _(acc)(m,i)=ζ_(acc) E _(axx)(m−1,i)+(1−ζ_(acc))|G _(m)(i)|², 0≦i≦N _(c)−1  (12)

where ζ_(acc) is the smoothing parameter and N_(c) is the number of channels.

Then, the post SNR for each channel is computed with the power of the m-th channel E_(acc)(m,i) obtained using the equation (12), and the noise power estimate {circumflex over (λ)}_(n,m)(i) obtained using the equation (11), using the equation (13) $\begin{matrix} {{\xi_{post}\quad \left( {m,i} \right)} = {\max \left\lbrack {{\frac{E_{acc}\quad \left( {m,i} \right)}{{\hat{\lambda}}_{n,m}\quad (i)} - 1},{SNR}_{MIN}} \right\rbrack}} & (13) \end{matrix}$

In the step 206, the speech absence probability for the m-th frame is computed. The speech absence probability p(H₀|G_(m)(i)) for each channel of the m-th frame is computed using the equation (14) $\begin{matrix} {{p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)} = \frac{p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)\quad p\quad \left( H_{0} \right)}{{p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right){p\left( H_{0} \right)}} + {p\quad \left( {G_{m}\quad (i)} \middle| H_{1} \right)\quad p\quad \left( H_{1} \right)}}} & (14) \end{matrix}$

With the assumption that the channel spectrum G_(m)(i) for each channel is independent and referring to the equation (10), the equation (14) can be written as $\begin{matrix} \begin{matrix} {{p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)} = \frac{\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)\quad p\quad \left( H_{0} \right)}}{{\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)\quad p\quad \left( H_{0} \right)}} + {\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{1} \right)\quad p\quad \left( H_{1} \right)}}}} \\ {= \frac{1}{1 + {\frac{p\quad \left( H_{1} \right)}{p\quad \left( H_{0} \right)}\quad {\prod\limits_{i = 0}^{N_{c} - 1}\quad {\Lambda_{m}\quad (i)\quad \left( {G_{m}\quad (i)} \right)}}}}} \end{matrix} & (15) \end{matrix}$

As can be noticed from the equation (15), the speech absence probability is decided by Λ_(m)(i)(G_(m)(i)), which is the likelihood ratio expressed by the equation (16). As shown in the equation (16), the likelihood ratio Λ_(m)(i)(G_(m)(i)) can be rearranged by the substitution of the equation (10) and expressed by η_(m)(i) and ξ_(m)(i). $\begin{matrix} {\begin{matrix} {{\Lambda_{m}\quad (i)\quad \left( {G_{m}\quad (i)} \right)} = \frac{p\quad \left( {G_{m}\quad (i)} \middle| H_{1} \right)}{p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)}} \\ {= {\frac{\lambda_{n,m}\quad (i)}{{\lambda_{n,m}\quad (i)} + {\lambda_{s,m}\quad (i)}}\quad {\exp \left\lbrack {{- \frac{{{G_{m}\quad (i)}}^{2}}{{\lambda_{n,m}\quad (i)} + {\lambda_{n,m}\quad (i)}}} + \frac{{{G_{m}\quad (i)}}^{2}}{\lambda_{n,m}\quad (i)}} \right\rbrack}}} \\ {= {\frac{1}{1 + {\xi_{m}\quad (i)}}\quad {\exp \left\lbrack \frac{\left( {{\eta_{m}\quad (i)} + 1} \right)\quad \xi_{m}\quad (i)}{1 + {\xi_{m}\quad (i)}} \right\rbrack}}} \end{matrix}{where}{{\eta_{m}\quad (i)} = {\frac{{{G_{m}\quad (i)}}^{2}}{\lambda_{n,m}\quad (i)} - 1}}{{\xi_{m}\quad (i)} = \frac{\lambda_{s,m}\quad (i)}{\lambda_{n,m}\quad (i)}}} & (16) \end{matrix}$

In the equation (16), η_(m)(i) and ξ_(m)(i) are estimated based on known data, and are set by the equation (17) in the present invention

η _(m)(i)=ξ_(post)(m,i)

ξ _(m)(i)=ξ_(spred)(m,i)  (17)

where ξ_(post)(m,i) is the post SNR for the m-th frame obtained using the equation (13), and ξ_(pred)(m,i) is the predicted SNR for the m-th frame which is calculated using the preceding frames obtained by the equation (11).

In the step 207, the pri (abbreviation for “priori”) SNR ξ_(pri)(m,i) and the post SNR ξ_(post)(m,i) are corrected based on the obtained speech absence probability. The pri SNR ξ_(pri)(m,i) is the SNR estimate for the (m−1)th frame, which is obtained based on the SNR of the current frame in a decision-directed method by the equation (18) $\begin{matrix} \begin{matrix} {{\xi_{spri}\quad \left( {m,i} \right)} = {{\alpha \quad \frac{{{{\hat{S}}_{m - 1}\quad (i)}}^{2}}{\lambda_{n,{m - 1}}\quad (i)}} + {\left( {1 - \alpha} \right)\quad \xi_{post}\quad \left( {m,i} \right)}}} \\ {= {{\alpha \quad \frac{{{H\quad \left( {{m - 1},i} \right)\quad G_{m - 1}\quad (i)}}^{2}}{{\hat{\lambda}}_{n,{m - 1}}\quad (i)}} + {\left( {1 - \alpha} \right)\quad \xi_{post}\quad \left( {m,i} \right)}}} \end{matrix} & (18) \end{matrix}$

where α is the SNR correction parameter and |Ŝ_(m−1)(i)|² is the speech power estimate of the (m−1)th frame.

ξ_(pri)(m,i) of the equation (18) and ξ_(post)(m,i) of the equation (13) are corrected using the equation (19) according to the speech absence probability calculated using the equation (15) $\begin{matrix} {{{\xi_{pri}\quad \left( {m,i} \right)} = {\max \left\{ {{{p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)\quad {SNR}_{MIN}} + {p\quad \left( H_{1} \middle| {G_{m}\quad (i)} \right)\quad \xi_{pri}\quad \left( {m,i} \right)}},{SNR}_{MIN}} \right\}}}{{\xi_{post}\quad \left( {m,i} \right)} = {\max \left\{ {{{p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)\quad {SNR}_{MIN}} + {p\quad \left( H_{1} \middle| {G_{m}\quad (i)} \right)\quad \xi_{post}\quad \left( {m,i} \right)}},{SNR}_{MIN}} \right\}}}} & (19) \end{matrix}$

where p(H₁|G_(m)(i)) is the speech-plus-noise presence probability.

In the step 208, the gain H(m,i) for the i-th channel of the m-th frame is computed with ξ_(pri)(m,i) and ξ_(post)(m,i) using the equation (20) $\begin{matrix} {{{H\quad \left( {m,i} \right)} = {\Gamma \quad (1.5)\quad \frac{\sqrt{v_{m}\quad (i)}}{\gamma_{m}\quad (i)}\quad \exp \quad {\left( {- \frac{v_{m}\quad (i)}{2}} \right)\left\lbrack {{\left( {1 + {v_{m}\quad (i)}} \right)\quad I_{0}\quad \left( \frac{v_{m}\quad (i)}{2} \right)} + {v_{m}\quad (i)\quad I_{1}\quad \left( \frac{v_{m}\quad (i)}{2} \right)}} \right\rbrack}}}{where}{{\gamma_{m}\quad (i)} = {{\xi_{post}\quad \left( {m,i} \right)} + 1}}{{v_{m}\quad (i)} = {\frac{\xi_{pri}\quad \left( {m,i} \right)}{1 + {\xi_{pri}\quad \left( {m,i} \right)}}\quad \left( {1 + {\xi_{post}\quad \left( {m,i} \right)}} \right)}}} & (20) \end{matrix}$

and I₀ and I₁ are the 0th order and 1st order coefficients, respectively, of the Bessel function.

In the step 210, the result of the pre-processing step (step 100) is multiplied by the gain H(m,i) to enhance the spectrum of the m-th frame. Assuming that the result of the FFT for the m-th frame of the input signal is Y_(m)(k), the FFT coefficient for the spectrum enhanced signal, {tilde over (Y)}_(m)(k), is given by the equation (21)

{tilde over (Y)} _(m)(k)=H(m,i)Y _(m)(k)  (21)

where f_(L)(i)≦k <f_(H)(i), 0≦i<N_(c)−1, and f_(L) and f_(H) are the minimum and maximum frequencies, respectively, for each channel.

In the step 212, it is determined whether the previously mentioned steps have been performed on all the frames. If the result of the determination is affirmative, the SEUP step terminates. In either case, the previously mentioned steps are repeated until the spectrum enhancement is performed on all the frames.

In particular, unless the spectrum enhancement is performed on all the frames, the parameters, the noise power estimate and the predicted SNR, are updated for the next frame in the step 214. Assuming that the noise power estimate of the current frame is {circumflex over (λ)}_(n,m)(i), the noise power estimate for the next frame {circumflex over (λ)}_(n,m+1)(i) is obtained by the equation (22)

{circumflex over (λ)}_(n,m+1)(i)=ζ_(n){circumflex over (λ)}_(n,m)(i)+(1−ζ_(n))E[|N _(m)(i)|² |G _(m)(i)]  (22)

where ζ_(n) is the updating parameter and E[|N_(m)(i)|²|G_(m)(i)] is the noise power expectation of a given channel spectrum G_(m)(i) for the i-th channel of the m-th frame, which is obtained by the well-known global soft decision (GSD) method using the equation (23) $\begin{matrix} {{{{{E\left\lbrack {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right\rbrack} = {{{E\left\lbrack {\left. {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{0}} \right\rbrack}\quad p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)} + {{E\left\lbrack {\left. {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack}\quad p\quad \left( H_{1} \middle| {G_{m}\quad (i)} \right)}}}{where}{E\left\lbrack {\left. {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{0}} \right\rbrack}} = {{{G_{m}(i)}}^{2} = {{{E\left\lbrack {\left. {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack}\left( \frac{\xi_{pred}\quad \left( {m,i} \right)}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)\quad {\hat{\lambda}}_{n,m}\quad (i)} + {\left( \frac{1}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)^{2}\quad {{G_{m}\quad (i)}}^{2}}}}}\quad} & (23) \end{matrix}$

where E[|N_(m)(i)|²|G_(m)(i), H₀] is the noise power expectation in the absence of speech and E[|N_(m)(i)|²|G_(m)(i), H₁] is the noise power expectation in the presence of speech.

Next, to update the predicted SNR of the current frame, the speech power estimate of the current frame is initially updated and divided by the updated noise power estimate for the next frame, {circumflex over (λ)}_(m,m+)(i), which is obtained by the equation (22), to give a new SNR for the (m+1)th frame which is expressed as ξ_(pred)(m+1,i)

The speech power estimate of the current frame is updated as follows. First, speech power expectation of a given channel spectrum G_(m)(i) for the i-th channel of the m-th frame, E[|S_(m)(i)|²|G_(m)(i)], is computed by the equation (24) $\begin{matrix} {{{E\left\lbrack {{S_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right\rbrack} = {{{E\left\lbrack {\left. {{S_{m}\quad (i)}}^{2}\quad \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack}\quad p\quad \left( H_{1} \middle| {G_{m}\quad (i)} \right)} + {E\left\lbrack {{{S_{m}\quad (i)}}^{2}\quad \left. {{G_{m}\quad (i)},H_{0}} \right\rbrack \quad p\quad \left( H_{0} \right.G_{m}\quad (i)} \right)}}}{where}\text{}{{E\left\lbrack {\left. {{S_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack} = {{\left( \frac{1}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)\quad {\hat{\lambda}}_{s,m}\quad (i)} + {\left( \frac{\xi_{pred}\quad \left( {m,i} \right)}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)^{2}\quad {{G_{m}\quad (i)}}^{2}}}}{{E\left\lbrack {\left. {{S_{m}\quad (i)}}^{2} \middle| \quad {G_{m}\quad (i)} \right.,H_{0}} \right\rbrack} = 0}} & (24) \end{matrix}$

where E[|S_(m)(i)|²|G_(m)(i), H₀] is the speech power expectation in the absence of speech and E[|S_(m)(i)|²|G_(m)(i), H₁] is the speech power expectation in the presence of speech.

Then, the speech power estimate for the next frame {circumflex over (λ)}_(s,m+1)(i) is computed by substituting the speech power expectation E[|S_(m)(i)|²|G_(m)(i)] into the equation (25)

 {circumflex over (λ)}_(s,m+1)(i)=ζ_(s){circumflex over (λ)}_(s,m)(i)+(1−ζ_(s))E[|S _(m)(i)|² |G _(m)(i)]  (25)

where ζ_(s) is the updating parameter.

Then, the expected signal-to-noise ratio for the (m+1)th frame ξ_(pred)(m+1,i) is calculated using {circumflex over (λ)}_(n,m+1)(i) of the equation (22) and {circumflex over (λ)}_(s,m+1)(i) of the equation (25), which is given by the equation (26) $\begin{matrix} {{\xi_{pred}\quad \left( {{m + 1},i} \right)} = \frac{{\hat{\lambda}}_{s,{m + 1}}\quad (i)}{{\hat{\lambda}}_{n,{m + 1}}\quad (i)}} & (26) \end{matrix}$

After the parameters are updated for the next frame, the frame index is incremented in the step 216 to perform the SEUP for all the frames.

An experiment has been carried out to verify the effect of the SEUP algorithm according to the present invention. In the experiment, a sampling frequency of a speech signal was 8 kHz and a frame interval was 10 msec. The pre-emphasis parameter ζ, which is shown in the equation (1), was −0.8. The size of the FFT, M, was 128. After the FFT, each computation was performed with frequency points divided into N_(c) channels, wherein N_(c) was 16. The smoothing parameter, ζ_(acc), which is shown in the equation (12), was 0.46, and the minimum SNR in the SEUP step, SNR_(MIN), was 0.085. Also, p(H₁)/p(H₀) was set to 0.0625, which may be varied according to the advance information about the presence/absence of speech.

The SNR correction parameter, α, was 0.99, the parameter, ζ_(n), which is used in updating the noise power, was 0.99, and the parameter, ζ_(s), which is used in updating the predicted SNR, was 0.98. Also, the number of initial frames whose parameters are initialized for background noise information, MF, was 10.

The speech quality was evaluated by a mean opinion score (MOS) test which is a common subjective test in use. In the MOS test, the quality of speech was evaluated a scale having five levels, excellent, good, fair, poor and bad, by listeners. These five levels were assigned the numbers 5, 4, 3, 2 and 1, respectively, and the mean of scores given by 10 listeners for each data sample was calculated. For speech data samples for test, five sentences pronounced by respective male and female speakers were prepared, and the SNR of each of the 10 sentences was varied using three types of noise, white, buccaneer (engine) and bubble noise on the basis of the NOISEX-92 database. IS-127 standard signals, speech signals processed by the SEUP according to the present invention, and original noisy signals were presented to the trained 10 listeners and the quality of each sample was evaluated on the scale of one to five. After scoring level-5 of speech quality, means values were calculated for each sample. As a result of the MOS test, 100 data were collected for each SNR level of each noise. The speech samples were presented to the 10 listeners without identification of each sample so as to prevent listeners from having perceived ideas relating to a particular sample, and a clean speech signal as a reference signal was presented just before providing each sample signal to be tested, for consistency in using the 5 scales. The result of the MOS test is shown in Table 1.

TABLE 1 Type of noise Buccaner White Babble SNR 5 10 15 20 5 10 15 20 5 10 15 20 None* 1.40 1.99 2.55 3.02 1.29 2.06 2.47 3.03 2.44 3.02 3.23 3.50 IS-127 1.91 2.94 3.59 4.19 2.13 3.12 3.55 4.13 2.45 3.14 3.82 4.49 Present 2.16 3.12 3.62 4.21 2.43 3.22 3.62 4.24 2.90 3.45 3.89 4.52 invention *“None” indicates the original noise signals to which any process has not been provided.

As shown in Table 1, the speech quality is relatively better in the samples to which the SEUP has been performed, according to the present invention, than in IS-127 standard samples. In particular, the lower the SNR, the greater the effect of the SEUP according to the present invention. In addition, for the case of having babble noise, which is prevalent in a mobile telecommunications environment, the effect of the SEUP according to the present invention is significant compared to the original noise signals.

As described above, the noise spectrum is estimated in speech presence intervals based on the speech absence probability, as well as in speech absence intervals, and the predicted SNR and gain are updated on a per-channel basis of each frame according to the noise spectrum estimate, which in turn improves the speech spectrum in various noise environments.

While this invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. 

What is claimed is:
 1. A speech enhancement method comprising the steps of: (a) segmenting an input speech signal into a plurality of frames and transforming each frame signal into a signal of the frequency domain; (b) computing the signal-to-noise ratio of a current frame, and computing signal-to-noise ratio of a frame immediately preceding the current frame; (c) computing the predicted signal-to-noise ratio of the current frame which is predicted based on the preceding frame and computing the speech absence probability using the signal-to-noise ratio and predicted signal-to-noise ratio of the current frame; (d) correcting the two signal-to-noise ratios obtained in the step (b) based on the speech absence probability computed in the step (c); (e) computing the gain of the current frame with the two corrected signal-to-noise ratios obtained in the step (d), and multiplying the speech spectrum of the current frame by the computed gain; (f) estimating the noise and speech power for the next frame to calculate the predicted signal-to-noise ratio for the next frame, and providing the predicted signal-to-noise ratio for the next frame as the predicted signal-to-noise ratio of the current frame for the step (c); and (g) transforming the result spectrum of the step (e) into a signal of the time domain.
 2. The speech enhancement method of claim 1, between the steps (a) and (b), further comprising initializing the noise power estimate {circumflex over (λ)}_(n,m)(i), the gain H(m,i) and the predicted signal-to-noise ratio ξ_(pres)(m,i) of the current frame, for i channels of the first MF frames to collect background noise information, using the equation ${{\hat{\lambda}}_{n,m}\quad (i)} = \left\{ {{\begin{matrix} {{{G_{m}\quad (i)}}^{2},} & {m = 0} \\ {{{_{n}\quad {\hat{\lambda}}_{n,{m - 1}}\quad (i)} + {\left( {1 - _{n}} \right)\quad {{G_{m}\quad (i)}}^{2}}},} & {0 < m < {MF}} \end{matrix}H\quad \left( {m,i} \right)} = {{{GAIN}_{MIN}\xi_{pred}\quad \left( {m,i} \right)} = \left\{ \begin{matrix} {{\max \left\lbrack {\left( {GAIN}_{MIN} \right)^{2},{SNR}_{MIN}} \right\rbrack},} & {m = 0} \\ {{\max \left\lbrack {{{_{s}\quad \xi_{pred}\quad \left( {{m - 1},i} \right)} + {\left( {1 - _{s}} \right)\quad \frac{{{{\hat{S}}_{m - 1}\quad (i)}}^{2}}{{\hat{\lambda}}_{n,{m - 1}}\quad (i)}}},{SNR}_{MIN}} \right\rbrack},} & {0 < m < {MF}} \end{matrix} \right.}} \right.$

where ζ_(n) and ζ_(s) are the initialization parameters, and SNR_(MIN) and GAIN_(MIN) are the minimum signal-to-noise ratio and the minimum gain, respectively, G_(m)(i) is the i-th channel spectrum of the m-th frame, and |Ŝ_(m−1)(i)|² is the speech power estimate for the (m−1)th frame.
 3. The method of claim 2, wherein assuming that the signal-to-noise ratio of the current frame is ξ_(post)(m,i), the signal-to-noise ratio of the current frame in the step (b) is computed using the equation ${\xi_{post}\quad \left( {m,i} \right)} = {\max \left\lbrack {{\frac{E_{acc}\quad \left( {m,i} \right)}{{\hat{\lambda}}_{n,m}\quad (i)} - 1},{SNR}_{MIN}} \right\rbrack}$

where E_(acc)(m, i) is the power for the i-th channel of the m-th frame, obtained by smoothing the power of the m-th and (m−1)th frames, and {circumflex over (λ)}_(n,m)(i) is the noise power estimate for the i-th channel of the m-th frame.
 4. The method of claim 2, wherein assuming that the speech absence probability is p(H₀|G_(m)(i)) and each channel spectrum G_(m)(i) of the m-th frame is independent, the speech absence probability in the step (b) is computed with the spectrum probability distribution in the absence of speech p(G_(m)(i)|H₀) and the spectrum probability distribution in the presence of speech p(G_(m)(i)|H₁), using the equation $\begin{matrix} {{p\quad \left( H_{0} \middle| {G_{m}\quad (i)} \right)} = \frac{\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)\quad p\quad \left( H_{0} \right)}}{{\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{0} \right)\quad p\quad \left( H_{0} \right)}} + {\prod\limits_{i = 0}^{N_{c} - 1}\quad {p\quad \left( {G_{m}\quad (i)} \middle| H_{1} \right)\quad p\quad \left( H_{1} \right)}}}} \\ {= \frac{1}{1 + {\frac{p\quad \left( H_{1} \right)}{p\quad \left( H_{0} \right)}\quad {\prod\limits_{i = 0}^{N_{c} - 1}\quad {\Lambda_{m}\quad (i)\quad \left( {G_{m}\quad (i)} \right)}}}}} \end{matrix}$

where N_(c) is the number of channels, and ${\Lambda_{m}\quad (i)\quad \left( {G_{m}\quad (i)} \right)} = {\frac{1}{1 + {\xi_{m}\quad (i)}}\quad {\exp \left\lbrack \frac{\left( {{\eta_{m}\quad (i)} + 1} \right)\quad \xi_{m}\quad (i)}{1 + {\xi_{m}\quad (i)}} \right\rbrack}}$

where η_(m)(i) and ξ_(m)(i) are the signal-to-noise ratio and the predicted signal-to-noise ratio for the i-th channel of the m-th frame, respectively.
 5. The method of claim 4, wherein assuming that the signal-to-noise ratio of the current frame is ξ_(post)(m,i) and the signal-to-noise ratio of the preceding frame is ξ_(pri)(m,i), ξ_(post)(m,i) and ξ_(pri)(m,i) in the step (d) are corrected with the speech absence probability p(H₀|G_(m)(i)) and the speech-plus-noise presence probability p(H₁|G_(m)(i)), using the equation ξ_(pri)  (m, i) = max {p  (H₀||G_(m)  (i))  SNR_(MIN) + p  (H₁|G_(m)  (i))  ξ_(pri)  (m, i), SNR_(MIN)} ξ_(post)  (m, i) = max {p  (H₀||G_(m)  (i))  SNR_(MIN) + p  (H₁|G_(m)  (i))  ξ_(post)  (m, i), SNR_(MIN)}

where SNR_(MIN) is the minimum signal-to-noise ratio.
 6. The method of claim 1, wherein the gain H(m,i) in the step (e) for an i-th channel of an m-th frame is computed with the signal-to-noise ratio of the preceding frame, ξ_(pri)(m,i), and the signal-to-noise ratio of the current frame, ξ_(post)(m,i), using the equation ${H\quad \left( {m,i} \right)} = {\Gamma \quad (1.5)\quad \frac{\sqrt{V_{m}\quad (i)}}{\gamma_{m}\quad (i)}\quad \exp \quad {\left( {- \frac{V_{m}\quad (i)}{2}} \right)\left\lbrack {{\left( {1 + {V_{m}\quad (i)}} \right)\quad I_{0}\quad \left( \frac{V_{m}\quad (i)}{2} \right)} + {v_{m}\quad (i)\quad I_{1}\quad \left( \frac{V_{m}\quad (i)}{2} \right)}} \right\rbrack}}$ where γ_(m)  (i) = ξ_(post)  (m, i) + 1 ${V_{m}\quad (i)} = {\frac{\xi_{pri}\quad \left( {m,i} \right)}{1 + {\xi_{pri}\quad \left( {m,i} \right)}}\quad \left( {1 + {\xi_{post}\quad \left( {m,i} \right)}} \right)}$

and I₀ and I₁ are the 0th order and 1st order coefficients, respectively, of the Bessel function.
 7. The method of claim 6, wherein the step (f) comprises: estimating the noise power for the (m+1)th frame by smoothing the noise power estimate and the noise power expectation for the m-th frame; estimating the speech power for the (m+1)th frame by smoothing the speech power estimate and the speech power expectation for the m-th frame; and computing the predicted signal-to-noise ratio for the (m+1)th frame using the obtained noise power estimate and speech power estimate.
 8. The method of claim 7, wherein assuming that the noise power expectation of a given channel spectrum G_(m)(i) for the i-th channel of the m-th frame is E[|N_(m)(i)|²|G_(m)(i)], the noise power expectation is computed using the equation E[N_(m)  (i)²|G_(m)  (i)] = E[N_(m)  (i)²  |G_(m)  (i), H₀]  p  (H₀|G_(m)  (i)) + E[N_(m)  (i)²  G_(m)  (i), H₁]  p  (H₁G_(m)  (i)) where E[N_(m)  (i)²|G_(m)  (i), H₀] = G_(m)  (i)² ${E\left\lbrack {\left. {{N_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack} = {{\left( \frac{\xi_{pred}\quad \left( {m,i} \right)}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)\quad {\hat{\lambda}}_{n,m}\quad (i)} + {\left( \frac{1}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)^{2}\quad {{G_{m}\quad (i)}}^{2}}}$

where E[|N_(m)(i)|²|(G_(m)(i), H₀] is the noise power expectation in the absence of speech, E[|N_(m)(i)|²|G_(m)(i), H₁] is the noise power expectation in the presence of speech, {circumflex over (λ)}_(n,m) (i) is the noise power estimate, and ξ_(pred)(m,i) is the predicted signal-to-noise ratio, each of which are for the i-th channel of the m-th frame.
 9. The method of claim 7, wherein assuming that the speech power expectation of a given channel spectrum G_(m)(i) for the i-th channel of the m-th frame is E[|S_(m)(i)|²|G_(m)(i)], the speech power expectation is computed using the equation E[S_(m)  (i)²|G_(m)  (i)] = E[S_(m)  (i)²  |G_(m)  (i), H₁]  p  (H₁|G_(m)  (i)) + E[S_(m)  (i)²  G_(m)  (i), H₀]  p  (H₀G_(m)  (i)) where ${E\left\lbrack {\left. {{S_{m}\quad (i)}}^{2} \middle| {G_{m}\quad (i)} \right.,H_{1}} \right\rbrack} = {{\left( \frac{1}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)\quad {\hat{\lambda}}_{s,m}\quad (i)} + {\left( \frac{\xi_{pred}\quad \left( {m,i} \right)}{1 + {\xi_{pred}\quad \left( {m,i} \right)}} \right)^{2}\quad {{G_{m}\quad (i)}}^{2}}}$ E[S_(m)  (i)²|  G_(m)  (i), H₀] = 0

where E[|S_(m)(i)|²|G_(m)(i), H₀] is the speech power expectation in the absence of speech, E[|S_(m)(i)|²|G_(m)(i), H₁] is the speech power expectation in the presence of speech, {circumflex over (λ)}_(s,m)(i) is the speech power estimate, and ξ_(pred)(m,i) is the predicted signal-to-noise ratio, each of which are for the i-th channel of the m-th frame.
 10. The method of claim 7, wherein assuming that the predicted signal-to-noise ratio for the (m+1)th frame is ξ_(pred)(m+1,i), the predicted signal-to-noise ratio for the (m+1)th frame is calculated using the equation ${\xi_{pred}\quad \left( {{m + 1},i} \right)} = \frac{{\hat{\lambda}}_{s,{m + 1}}\quad (i)}{{\hat{\lambda}}_{n,{m + 1}}\quad (i)}$

where {circumflex over (λ)}_(n,m+1)(i) is the noise power estimate and {circumflex over (λ)}_(s,m+1)(i) is the speech power estimate, each of which are for the i-th channel of the m-th frame. 